gwoe-antragspruefer/app
Dotty Dotter 8ae2b92313 feat: Scorecard-Werkstatt — Live-Editor unter /v2/scorecard-werkstatt
User-Wunsch: 'Baue eine Entwicklungsseite, wo wir all das in CSS code
zusammenschreiben und länger daran arbeiten können ohne jedes mal png
erzeugen zu müssen. Können wir hinterher auch nutzen, um irgendwo
mal schnell eine Übersicht einzublenden.'

Neue Route /v2/scorecard-werkstatt mit Split-Layout:
- Links: Live-iframe-Vorschau der /v2/scorecard, mit Zoom-Toolbar
  (Fit / 40 / 50 / 65 / 80 / 100 %).
- Rechts: Drucksachen-Selector (Top-60 Anträge), Format-Pills
  (Portrait / Square / OG), CSS-Editor-Textarea + Apply-Button.
- Apply schreibt das User-CSS als <style>-Element in den iframe →
  keine Server-Roundtrips, kein PNG-Render, instantane Iteration.
- Strg/⌘+Enter im Editor wendet sofort an. Tab fuegt 2 Spaces ein.
- Direkt-Link + Iframe-Snippet werden generiert — die Card laesst sich
  also direkt embedden (z.B. Übersicht in einer anderen App).

Plus: Cache-Buster `&_=Date.now()` am Scorecard-Button im v3-Detail,
damit die Vorschau-Anzeige nach Layout-Aenderungen nicht weiter eine
gecachete Version zeigt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 13:39:45 +02:00
..
adapters fix(#170): JSON-Parse-Fehler im PM-Generator (unescaped Newlines) 2026-05-06 01:53:29 +02:00
kontext Activate LSA: Wahlprogramme + ingest + frontend (#2) 2026-04-07 22:12:32 +02:00
ports fix(#170): JSON-Parse-Fehler im PM-Generator (unescaped Newlines) 2026-05-06 01:53:29 +02:00
protokoll_parsers feat(#149): BB-Parser produktiv — Brandenburger Plenarprotokolle (Status-Only) 2026-04-29 02:04:21 +02:00
repositories refactor(#136): DDD-Lightweight Tag 1-4 (Ports, Adapter, Repositories, Domain-Verhalten) 2026-04-25 20:55:16 +02:00
routers Initial commit: GWÖ-Antragsprüfer v1.0 2026-03-28 22:30:24 +01:00
static fix: News — alle Items anzeigen, nur Summary-Absatz clampen (4 Zeilen) 2026-05-07 12:53:42 +02:00
templates feat: Scorecard-Werkstatt — Live-Editor unter /v2/scorecard-werkstatt 2026-05-07 13:39:45 +02:00
__init__.py Initial commit: GWÖ-Antragsprüfer v1.0 2026-03-28 22:30:24 +01:00
abgeordnetenwatch.py feat(#106,#135,#128): Monitoring + abgeordnetenwatch + Wahlprogramm-Check 2026-04-25 20:55:16 +02:00
analyzer.py feat(#145): LLM-Prompts auf /methodik als Transparenz-Block 2026-04-28 01:50:25 +02:00
auswertungen.py feat(#189 Phase 10.2): Empfehlungs-Konsistenz-Drilldown analog zu Heuchelei 2026-05-06 17:11:34 +02:00
auth.py feat(Phase 11b): Bypass-DB-Logging + Auto-Rotation-Skript 2026-05-06 23:31:51 +02:00
bundeslaender.py #31/#34/#35: BY, NI, SL auf aktiv=True — alle 17 Parlamente jetzt im UI 2026-04-10 17:43:32 +02:00
clustering.py feat: 16 BL-Adapter, Drucksache-Typen, Mail-Digest, Clustering, Redline-Parser 2026-04-25 20:54:50 +02:00
config.py feat(feedback): konfigurierbare Issue-Labels via GITEA_FEEDBACK_LABELS 2026-04-28 01:31:25 +02:00
database.py feat(Phase 11b): Bypass-DB-Logging + Auto-Rotation-Skript 2026-05-06 23:31:51 +02:00
drucksache_typen.py feat(#6 Phase 11): Bundesrats-Drucksachen erkennen + markieren + ablehnen 2026-05-06 23:29:12 +02:00
embeddings.py fix: Citation-Binding partei-skopiert (Cross-Partei-Misattribution gestoppt) 2026-05-07 11:51:03 +02:00
ingest_votes.py feat(#148): BUND-Parser produktiv — Bundestags-XML-Plenarprotokolle 2026-04-28 23:21:39 +02:00
mail.py feat: 16 BL-Adapter, Drucksache-Typen, Mail-Digest, Clustering, Redline-Parser 2026-04-25 20:54:50 +02:00
main.py feat: Scorecard-Werkstatt — Live-Editor unter /v2/scorecard-werkstatt 2026-05-07 13:39:45 +02:00
marker.py feat: Opportunismus-Marker bei JA-Stimmen mit WP-Score < 3 2026-05-06 15:48:06 +02:00
models.py refactor(#136): DDD-Lightweight Tag 1-4 (Ports, Adapter, Repositories, Domain-Verhalten) 2026-04-25 20:55:16 +02:00
monitoring.py feat(#106,#135,#128): Monitoring + abgeordnetenwatch + Wahlprogramm-Check 2026-04-25 20:55:16 +02:00
news_aggregator.py feat: Stand-Dashboard, Score-Histogram, PM-Markdown, Live-Polling, Cluster-Indicator 2026-05-06 02:49:06 +02:00
og_card.py feat(#139,#129,#138,#141): v2-Frontend (ECOnGOOD-CD), Login-Modal, Auto-DL, OG-Cards 2026-04-25 20:55:57 +02:00
parlamente.py feat(#6 Phase 11): Bundesrats-Drucksachen erkennen + markieren + ablehnen 2026-05-06 23:29:12 +02:00
parteien.py Phase J: SN EDAS-XML-Adapter (#26/#38) — Sachsen aktiv via XML-Export 2026-04-09 14:39:03 +02:00
pm_render.py refactor + tests: marker.py + pm_render.py mit 56 Unit-Tests 2026-05-06 15:44:12 +02:00
presse_generator.py feat(Phase 18): PM-Prompt verschaerft + Auto-Re-Generate bei zu kurzem Output 2026-05-06 23:47:42 +02:00
queue.py feat(#139,#129,#138,#141): v2-Frontend (ECOnGOOD-CD), Login-Modal, Auto-DL, OG-Cards 2026-04-25 20:55:57 +02:00
redline_utils.py fix: PDF-Link mit #page=N-Hash — Browser-PDF-Viewer landet jetzt direkt auf der richtigen Seite 2026-04-25 22:09:46 +02:00
reindex_embeddings.py feat: 16 BL-Adapter, Drucksache-Typen, Mail-Digest, Clustering, Redline-Parser 2026-04-25 20:54:50 +02:00
report.py feat(#175 Phase 23 step 1): Matrix-Block-Renderer via v2-Macro vorbereitet 2026-05-07 09:15:25 +02:00
sync_abgeordnetenwatch.py feat(#106,#135,#128): Monitoring + abgeordnetenwatch + Wahlprogramm-Check 2026-04-25 20:55:16 +02:00
themen_matching.py feat: Stand-Dashboard, Score-Histogram, PM-Markdown, Live-Polling, Cluster-Indicator 2026-05-06 02:49:06 +02:00
validators.py fix: Validator akzeptiert Bundesrats-3-Komponenten-Drucksachen 2026-05-06 23:30:29 +02:00
wahlperioden.py Phase C: Auswertungen-Dashboard #58 + CSV-Export #45 (Roadmap #59) 2026-04-09 11:25:57 +02:00
wahlprogramm_check.py feat(#106,#135,#128): Monitoring + abgeordnetenwatch + Wahlprogramm-Check 2026-04-25 20:55:16 +02:00
wahlprogramm_fetch.py feat(#138): SHA-Lock-File schuetzt vor stillem PDF-Tausch 2026-04-28 01:58:42 +02:00
wahlprogramm-links.yaml feat(#139,#129,#138,#141): v2-Frontend (ECOnGOOD-CD), Login-Modal, Auto-DL, OG-Cards 2026-04-25 20:55:57 +02:00
wahlprogramm-shas.lock.json feat(#138): SHA-Lock-File schuetzt vor stillem PDF-Tausch 2026-04-28 01:58:42 +02:00
wahlprogramme.py Add 30 Wahlprogramme für TH/BB/HH/SH/BW/RP (#37, #39, #40, #32, #41, #42) 2026-04-09 08:03:11 +02:00