Benjamin Admin
db7c207464
CI/CD / go-lint (push) Has been skipped
CI/CD / python-lint (push) Has been skipped
CI/CD / nodejs-lint (push) Has been skipped
CI/CD / test-go-ai-compliance (push) Successful in 39s
CI/CD / test-python-backend-compliance (push) Successful in 32s
CI/CD / test-python-document-crawler (push) Successful in 20s
CI/CD / test-python-dsms-gateway (push) Successful in 16s
CI/CD / validate-canonical-controls (push) Successful in 9s
CI/CD / Deploy (push) Successful in 4s
feat: V1 Control Enrichment — Eigenentwicklung-Label, regulatorisches Matching & Vergleichsansicht
863 v1-Controls (manuell geschrieben, ohne Rechtsgrundlage) werden als
"Eigenentwicklung" gekennzeichnet und automatisch mit regulatorischen
Controls (DSGVO, NIS2, OWASP etc.) per Embedding-Similarity abgeglichen.
Backend:
- Migration 080: v1_control_matches Tabelle (Cross-Reference)
- v1_enrichment.py: Batch-Matching via BGE-M3 + Qdrant (Threshold 0.75)
- 3 neue API-Endpoints: enrich-v1-matches, v1-matches, v1-enrichment-stats
- 6 Tests (dry-run, execution, matches, pagination, detection)
Frontend:
- Orange "Eigenentwicklung"-Badge statt grauem "v1" (wenn kein Source)
- "Regulatorische Abdeckung"-Sektion im ControlDetail mit Match-Karten
- Side-by-Side V1CompareView (Eigenentwicklung vs. regulatorisch gedeckt)
- Prev/Next Navigation durch alle Matches
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 10:32:08 +01:00
..
2026-03-23 17:15:45 +01:00
2026-03-23 17:15:45 +01:00
2026-03-23 17:15:45 +01:00
2026-03-23 17:15:45 +01:00
2026-03-05 00:36:24 +01:00
2026-03-24 07:24:02 +01:00
2026-03-21 11:56:08 +01:00
2026-03-07 14:12:34 +01:00
2026-03-21 11:49:43 +01:00
2026-03-24 06:40:42 +01:00
2026-03-24 06:40:42 +01:00
2026-03-04 17:43:29 +01:00
2026-03-03 12:48:43 +01:00
2026-03-17 09:00:37 +01:00
2026-03-21 11:49:43 +01:00
2026-03-21 11:49:43 +01:00
2026-03-17 09:00:37 +01:00
2026-03-23 17:15:45 +01:00
2026-03-17 09:00:37 +01:00
2026-03-14 21:03:04 +01:00
2026-03-23 12:11:55 +01:00
2026-03-07 14:12:34 +01:00
2026-03-24 06:40:42 +01:00
2026-03-06 18:21:43 +01:00
2026-03-03 22:27:13 +01:00
2026-03-05 00:36:24 +01:00
2026-03-07 17:07:43 +01:00
2026-03-14 21:03:04 +01:00
2026-03-23 17:15:45 +01:00
2026-03-25 21:53:40 +01:00
2026-03-05 15:11:10 +01:00
2026-03-23 12:11:55 +01:00
2026-03-07 19:00:33 +01:00
2026-03-05 12:07:01 +01:00
2026-03-06 20:50:00 +01:00
2026-03-07 23:25:25 +01:00
2026-03-24 06:40:42 +01:00
2026-03-03 11:04:02 +01:00
2026-03-24 06:40:42 +01:00
2026-03-12 19:55:06 +01:00
2026-03-19 13:59:43 +01:00
2026-03-17 09:00:37 +01:00
2026-03-05 11:42:19 +01:00
2026-03-03 18:04:53 +01:00
2026-03-21 11:49:43 +01:00
2026-03-19 13:59:43 +01:00
2026-03-17 09:00:37 +01:00
2026-03-17 09:00:37 +01:00
2026-03-24 06:40:42 +01:00
2026-03-14 21:03:04 +01:00
2026-03-09 14:53:50 +01:00
2026-03-24 10:38:34 +01:00
2026-03-07 17:07:43 +01:00
2026-03-25 23:01:49 +01:00
2026-03-05 13:43:02 +01:00
2026-03-21 11:49:43 +01:00
2026-03-05 13:43:02 +01:00
2026-03-02 09:26:57 +01:00
2026-03-05 11:42:19 +01:00
2026-03-07 17:07:43 +01:00
2026-03-14 21:03:04 +01:00
2026-03-02 18:48:55 +01:00
2026-03-25 08:35:16 +01:00
2026-03-19 11:56:53 +01:00
2026-03-06 17:35:44 +01:00
2026-03-26 10:32:08 +01:00
2026-03-12 19:55:06 +01:00
2026-03-06 20:18:29 +01:00
2026-03-19 11:56:25 +01:00
2026-03-07 19:00:33 +01:00
2026-03-24 06:40:42 +01:00