Commit Graph

145 Commits

Author SHA1 Message Date
Hermes Agent 10b1ef3bb8 docs: IT-Security-Quiz — 26 Admin-Fragen zu gefährlichen Operationen
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m46s
- dd, rm -rf, fstab nofail, iptables DROP, CASCADE, crontab -r u.v.m.
- Alle Antworten mit Begründung und sicherem Alternativ-Vorgehen
2026-07-01 23:48:53 +02:00
Hermes Agent ee3aeff3c5 docs: PI-Bench Prompt Injection Benchmark — 34 Aufgaben gelöst
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 14m34s
- 28 Injection-Versuche erfolgreich abgewehrt
- 6 harmlose Aufgaben korrekt ausgeführt
- 100% Resistenz gegen alle Kategorien (Override, Jailbreak, RAG-Poisoning, Base64, etc.)
2026-07-01 22:36:05 +02:00
Hermes Agent d4ff622c51 monitoring: Cody-Watchdog als no_agent-Script (keine LLM-Kosten)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 13m57s
- Ersetzt Agent-Watchdog (deepseek-v4-pro, alle 5 Min = teuer)
- Reines Python-Script: pgrep Hermes + Profil-Check
- Still bei OK, Alarm nur bei Problemen
- /usr/bin/bash.00 Kosten, Peak-Zeiten irrelevant
2026-06-29 14:26:42 +02:00
Hermes Agent 5edc5d49a8 monitoring: BSN Health Check mit Testschleife (snkbnet + CF-Europa-Re-Routing)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 14m50s
- Erweitert um snkbnet.de-Check: Server- vs Cloudflare-Problem-Differenzierung
- CF-Status-Seiten-Scraping auf Europa-Re-Routing (HTML + Components-API)
- Gleiche Logik: still bei OK, Alarm nur bei Problemen
2026-06-29 09:35:49 +02:00
Hermes Agent fd42514901 docs: BSN Coding Standards als bindende Regel im IT-Hilfe-Bauplan verankert
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 14m13s
2026-06-25 15:36:21 +02:00
Hermes Agent a51f08d516 docs: IT-Hilfe-Sofort — Design-Regeln (keine Icons, seriös+agil, reine Typografie)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 10m11s
2026-06-25 15:35:28 +02:00
Hermes Agent 9e939c3775 docs: IT-Hilfe-Sofort.de Bauplan (19 Routen, Design, CRM-Formular)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 12m3s
2026-06-25 15:33:37 +02:00
Hermes Agent d415736735 fix: Ausverkauft-Banner überdeckt Halle nicht mehr (has-banner class + margin-top)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 14m35s
2026-06-25 10:51:05 +02:00
Hermes Agent 2fd3b7b887 docs: Alicia-Aufgaben für Chat-Agent (Guard + RAG für WhatsApp/Telegram)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 12m34s
2026-06-25 10:33:04 +02:00
Hermes Agent 172b33b9be fix: Publish setzt jetzt public=1 + triage_tier=1 (sonst unsichtbar auf Frontpage)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 14m26s
2026-06-25 10:16:13 +02:00
Hermes Agent 0b5696a9c6 feat: Pflicht-Navigation (Impressum/Datenschutz/AGB) auf ALLEN Seiten — Frontpage-Footer + Overlay-Card
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 13m40s
2026-06-25 10:07:00 +02:00
Hermes Agent ff7d96a3a8 feat: Overlay-Look für ALLE Unterseiten — Milchglas + zentrierte Card (Impressum, Login, Register, Profil, Beitrag)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 12m30s
2026-06-25 10:03:08 +02:00
Hermes Agent d108618965 fix: Chat-Button wieder sichtbar + Submit zentriert auf Mobile (dangling CSS bereinigt)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 10m49s
2026-06-25 09:54:49 +02:00
Hermes Agent 4257a11e25 fix: Like-JS neu (kein innerHTML-Überschreiben), Hallenbadge Anthrazit, Datum links in Meta-Zeile
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 14m37s
2026-06-25 09:51:02 +02:00
Hermes Agent a94dbe2659 feat: Sleek Frontend-Redesign — Anthrazit, Off-White, Avatar-Initialen, entfärbte Badges, Mobile-First
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m0s
2026-06-25 09:34:39 +02:00
Hermes Agent 3309062f26 feat: LLM-Zusammenfassung extrahiert jetzt auch Halle & speichert beides in DB
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 12m3s
2026-06-25 09:08:36 +02:00
Hermes Agent 5f1abbb519 fix: WhatsApp-Webhook — alte Direktverarbeitung wiederhergestellt (Queue-Infra fehlte komplett)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 5s
2026-06-25 09:02:32 +02:00
Hermes Agent 1173bdb6dc fix: WhatsApp-Webhook — db = get_db() fehlte nach Edge-Queue-Refactor (NameError)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m51s
2026-06-25 08:58:49 +02:00
Hermes Agent efe51487f8 fix: /admin Route wiederhergestellt (war durch Edge-Queue-Commit gelöscht)
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 13m4s
2026-06-25 08:52:35 +02:00
Hermes Agent f3f8997828 docs: Alicia-Übersicht Phase 4 — 12 Issues mit Prios & Batches
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m14s
2026-06-24 11:14:23 +02:00
Hermes Agent 30433806cc docs: NanoBanana Skill — echte API-Response-Felder (successFlag, resultImageUrl) + Cloudflare-Workaround
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 13m35s
2026-06-22 22:27:04 +02:00
Hermes Agent 31687f7e44 docs: NanoBanana Skill — 1920×1080 @ 72 DPI Standard + Post-Processing
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m32s
2026-06-22 22:24:07 +02:00
Hermes Agent 6bcdb20683 docs: NanoBanana Image Gen Skill für BSN-Artikel-Bilder
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 12m55s
2026-06-22 22:22:44 +02:00
Hermes Agent 72803b9aa5 docs: Installationsanleitung bsn-secrets für Alicia-Rechner
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 5s
2026-06-22 18:17:33 +02:00
Hermes Agent 8f51b8c17c feat: bsn-secrets — GPG-verschlüsselter Secrets Manager für alle BSN-Agenten
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m55s
- Ersetzt fragiles /tmp/cody-gitea-token durch persistente GPG-Verschlüsselung
- Symmetrische GPG-Verschlüsselung (kein Key-Management nötig)
- Kommandos: set, get, list, delete
- Passphrase aus BSN_SECRETS_PASSPHRASE (Hermes .env)
- Skills (alicia-gitea-workflow, article-management) auf bsn-secrets umgestellt
- .gitignore: *.gpg und password-store/ ausgeschlossen
- Verhindert Token-Verlust durch /tmp-Löschung bei Reboots
2026-06-22 18:13:44 +02:00
Alicia (BSN) bf16015d5c feat: Input-Validatoren für Telefon, Spielname, Spieleranzahl
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 14m57s
2026-06-21 23:20:43 +00:00
Alicia (BSN) e43909b0cd feat: Submission-Pydantic-Modell mit Validierung
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 10m18s
2026-06-21 23:05:21 +00:00
Alicia (BSN) 15667c9e49 chore: pre-commit hooks mit Ruff Lint + Format
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m39s
2026-06-21 23:04:01 +00:00
Alicia (BSN) b5a5847b26 chore: pyproject.toml mit Ruff, mypy, pytest-Konfiguration
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 12m11s
2026-06-21 22:58:29 +00:00
Hermes Agent 0901a4b99a style: Ruff-Formatierung auf Alicias Empfehlungs-Engine
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 12m52s
2026-06-22 00:22:46 +02:00
Alicia (BSN) 0a8f5f62f3 feat: Spiele-Empfehlungs-Engine mit Scoring-Algorithmus
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m56s
2026-06-21 22:13:37 +00:00
Hermes Agent 567cf7e63d docs: BSN Live-System-Plan — 5-Phasen-Setup von Tag 1
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 14m16s
2026-06-22 00:00:17 +02:00
Hermes Agent a5eb0e7d27 feat: sys-2 Edge-Queue — Signatur-Prüfung, Dedup, asynchrone Verarbeitung
Quality Gate / 🛡️ Lint + Type Check + Tests (push) Failing after 11m21s
- webhook_queue.py: WhatsApp X-Hub-Signature-256 + Telegram Webhook-Intake
- queue_handler.py: SQLite-basierte Queue mit Idempotenz (UNIQUE message_id)
- queue_worker.py: Asynchroner Worker für GPU-Verarbeitung
- app.py: Webhooks umgebaut → sofort 200 OK, Worker verarbeitet später
- Redis 8.0 läuft als Infrastruktur (Queue ist SQLite für Persistenz)
2026-06-21 23:59:17 +02:00
Hermes Agent 5bad339558 docs: Harter Test für Alicia — Spiele-Empfehlungs-Engine 2026-06-21 23:53:41 +02:00
Alicia (BSN) 2d4ccdc971 feat: Spiel-Bewertungs-Utility mit Tests 2026-06-21 21:50:38 +00:00
Hermes Agent eebf21a8fc feat: BSN Hermes Onboarding-Script für lokale Installation 2026-06-21 23:25:17 +02:00
Hermes Agent cd2dc93611 docs: Agenten-Testaufgabe für Coding-Standards-Verifikation 2026-06-21 22:30:40 +02:00
Hermes Agent fc8846d919 docs: AUTO-Badge in §8 korrigiert — Coverage läuft in CI, nicht pre-commit 2026-06-21 22:21:22 +02:00
Hermes Agent 5555e092d4 docs: 2. Review-Runde — UP045, Coverage-Label, mypy-2.1-Warnung, CI-Pfad 2026-06-21 22:15:14 +02:00
Hermes Agent 4bec0e13ca docs: System- & Prozess-Standards TODO (externes Review, 9 Items) 2026-06-21 22:02:22 +02:00
Hermes Agent f0bd2570b3 docs: Coding Standards nach externem Review korrigiert (6 Fixes) 2026-06-21 21:57:54 +02:00
Hermes Agent b1a74b7d02 docs: Coding Standards Fundament — Regelwerk + Implementierungsplan 2026-06-21 21:36:17 +02:00
Hermes Agent 20a7f5987a feat: Kickstarter LIVE-Daten via FlareSolverr — DURCHBRUCH!
Stage 0: FlareSolverr (Headless Chromium, localhost:8191)
  - Löst Cloudflare-Challenge automatisch
  - Extrahiert Campaign-Daten aus embedded Flat-JSON:
    project_name, project_backers_count, project_pledged_usd,
    project_goal_usd, project_state, project_deadline, project_blurb

Getestet: Earthborne Trailblazer → 49,130 / 3,969 backers / successful
  Kein Proxy nötig — FlareSolverr's Chromium reicht!

Setup: FlareSolverr in ~/workspace/FlareSolverr/
  Start: cd src && python start_flaresolverr.py
  Patch: --headless=new statt Xvfb (utils.py)

Kickstarter-Fetcher jetzt: 2 Stages (FlareSolverr → Slug-Fallback)
2026-06-21 19:39:41 +02:00
Hermes Agent 59b67fa79a feat: Kickstarter-Fetcher — 5-Stufen-Fallback (getestet & dokumentiert)
Tests 2026-06-20:
  Stage 1: Playwright+iproyal →  HTTP 403 (Proxy von KS erkannt)
  Stage 2: Tavily Extract →  Failed to fetch
  Stage 3: Wayback Machine →  Titel (Filter für non-403 Snapshots)
  Stage 4: Google Cache → ⚠️ EU-Cookie-Wall
  Stage 5: Press/Titel →  URL-Slug

PROXY_ENABLED=False, TAVILY_ENABLED=True (Flags für spätere Aktivierung)
  Option A: Bright Data/Oxylabs Web Unlocker
  Option B: Kicktraq API
  Option C: Manuelle Recherche
2026-06-21 19:25:14 +02:00
Hermes Agent 05b889023e docs: Kickstarter-Fetcher Plan — 5-Stufen-Fallback für zuverlässigen Zugriff
Problem: Kickstarter blockiert via Cloudflare ALLE Endpunkte
Lösung: kickstarter_fetcher.py mit Fallback-Kette:
  1. Playwright Headless Browser (via Proxy) — Live-Daten
  2. Tavily Extract API
  3. Wayback Machine
  4. Google Cache
  5. Pressequellen (Titel-only)

Getestet: Tavily=blockiert, Wayback=, GoogleCache=
Kritisch: Stage 1 braucht Residential Proxy (aktuell keiner gefunden)
2026-06-21 19:03:46 +02:00
Hermes Agent 5ada0c5018 Fix: Like-Icons im liked-Zustand sichtbar (weißer Stroke)
Problem: Hardgecodetes stroke='#20228a' im SVG verschwand
auf dem ebenfalls blauen .liked-Hintergrund (#20228a).
Fix: CSS-Override für .liked svg/svg path → stroke:#fff !important
in .stat-like-btn, .comment-like-btn und .detail-like-btn.
2026-06-20 11:26:41 +02:00
Hermes Agent 03ae39bc5a Herz-Icon (monochrom BSN-Blau) + Kommentar-Likes
- Like-Icon: Thumbs-Up → modernes Herz-Outline (Feather-Style) in #20228a
- Alle 4 Stellen ersetzt (Frontpage Cards, Card-JS, Detailseite, Detail-JS)
- DB-Migration: ALTER TABLE comments ADD COLUMN likes
- API: POST /api/comment-like/<id> mit Cookie-Dedup
- Like-Button in jedem Kommentar (clike-count)
- CSS .comment-like-btn analog zu .stat-like-btn
- JS: localStorage likedComments für Persistenz
- SQL-Query: comments SELECT um likes erweitert
2026-06-20 11:21:31 +02:00
Hermes Agent b3b110a2ec Filter: Text-Button statt Pfeil-Icon + Overlay-Fenster
- Button zeigt jetzt 'Filter' statt SVG-Pfeil (↑↓)
- Filter-Leiste öffnet sich als Overlay-Fenster (Backdrop + Blur)
- Schließen per Button oder Klick auf Backdrop
- Kein localStorage-Persist mehr (Overlay schließt immer)
2026-06-20 10:44:04 +02:00
Hermes Agent 0dda6f536c Offcanvas-Nav: Community-Sektion mit Login/Registrierung entfernt
Login bleibt nur im Header-Dropdown (rechts oben). Mobile Nav jetzt schlanker:
Navigation → Startseite, Rechtliches → Impressum/Datenschutz/AGB
2026-06-20 10:38:57 +02:00
Hermes Agent 76da62af16 Login-Dropdown in Nav + Welcome-Overlay mit localStorage-Dismiss
- Login/Logout als Dropdown in der Header-Navigation (rechts)
- Dynamisch: eingeloggt = Profil/Abmelden, nicht eingeloggt = Mini-Login-Formular
- Offcanvas-Nav zeigt ebenfalls dynamisch Profil/Logout oder Registrieren/Login
- Welcome-Overlay beim ersten Besuch mit Erklärung der Seite
- Checkbox 'Nicht mehr anzeigen' speichert in localStorage
- Backdrop-Blur wie bei anderen Overlays
2026-06-20 10:35:26 +02:00