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-07 19:00:33 +01:00
2026-03-23 17:15:45 +01:00
2026-03-07 19:00:33 +01:00
2026-03-23 17:15:45 +01:00
2026-03-07 19:00:33 +01:00
2026-03-23 17:15:45 +01:00
2026-03-07 19:00:33 +01:00
2026-03-26 10:32:08 +01:00
2026-03-07 19:00:33 +01:00
2026-03-07 19:00:33 +01:00
2026-03-09 23:48:15 +01:00
2026-03-13 10:45:35 +00:00
2026-03-07 19:00:33 +01:00
2026-03-18 16:28:05 +01:00
2026-03-24 07:24:02 +01:00
2026-03-07 19:00:33 +01:00
2026-03-23 17:15:45 +01:00
2026-03-07 17:07:43 +01:00
2026-03-21 11:56:08 +01:00
2026-03-07 19:00:33 +01:00
2026-03-03 11:54:25 +01:00
2026-03-07 19:00:33 +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-16 21:41:48 +01:00
2026-03-08 22:53:29 +01:00
2026-03-13 10:45:35 +00:00
2026-03-07 19:00:33 +01:00
2026-03-23 17:15:45 +01:00
2026-03-07 19:00:33 +01:00
2026-03-19 23:27:25 +01:00
2026-03-23 17:15:45 +01:00
2026-03-19 13:59:43 +01:00
2026-03-02 12:02:40 +01:00
2026-03-03 18:04:53 +01:00
2026-03-19 13:59:43 +01:00
2026-03-14 21:03:04 +01:00
2026-03-09 17:48:02 +01:00
2026-03-07 17:07:43 +01:00
2026-03-02 12:46:11 +01:00
2026-03-23 17:15:45 +01:00
2026-02-11 23:47:28 +01:00
2026-03-23 17:15:45 +01:00
2026-02-11 23:47:28 +01:00
2026-03-13 10:45:35 +00:00
2026-03-07 17:07:43 +01:00
2026-03-07 19:00:33 +01:00
2026-03-07 14:12:34 +01:00
2026-03-19 11:56:53 +01:00
2026-03-07 19:00:33 +01:00
2026-03-07 19:00:33 +01:00
2026-03-07 19:00:33 +01:00
2026-03-19 11:56:25 +01:00
2026-03-19 11:56:25 +01:00
2026-03-09 20:01:27 +01:00