Benjamin Admin
de19ef0684
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 45s
CI/CD / test-python-document-crawler (push) Has been cancelled
CI/CD / test-python-dsms-gateway (push) Has been cancelled
CI/CD / validate-canonical-controls (push) Has been cancelled
CI/CD / deploy-hetzner (push) Has been cancelled
CI/CD / test-python-backend-compliance (push) Has been cancelled
feat(control-generator): 7-stage pipeline for RAG→LLM→Controls generation
Implements the Control Generator Pipeline that systematically generates
canonical security controls from 150k+ RAG chunks across all compliance
collections (BSI, NIST, OWASP, ENISA, EU laws, German laws).
Three license rules enforced throughout:
- Rule 1 (free_use): Laws/Public Domain — original text preserved
- Rule 2 (citation_required): CC-BY/CC-BY-SA — text with citation
- Rule 3 (restricted): BSI/ISO — full reformulation, no source traces
New files:
- Migration 046: job tracking, chunk tracking, blocked sources tables
- control_generator.py: 7-stage pipeline (scan→classify→structure/reform→harmonize→anchor→store→mark)
- anchor_finder.py: RAG + DuckDuckGo open-source reference search
- control_generator_routes.py: REST API (generate, review, stats, blocked-sources)
- test_control_generator.py: license mapping, rule enforcement, anchor filtering tests
Modified:
- __init__.py: register control_generator_router
- route.ts: proxy generator/review/stats endpoints
- page.tsx: Generator modal, stats panel, state filter, review queue, license badges
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 09:03:37 +01:00
..
2026-03-04 11:43:00 +01:00
2026-03-10 23:43:56 +01:00
2026-03-05 08:42:40 +01:00
2026-03-04 11:43:00 +01:00
2026-03-08 13:31:16 +01:00
2026-03-07 14:53:31 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 09:45:56 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 14:35:52 +01:00
2026-03-08 14:25:41 +01:00
2026-03-11 08:50:28 +01:00
2026-03-07 23:25:25 +01:00
2026-03-11 14:58:29 +01:00
2026-03-04 11:43:00 +01:00
2026-03-05 00:36:24 +01:00
2026-03-13 09:03:37 +01:00
2026-03-12 19:55:06 +01:00
2026-03-05 14:20:35 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 19:00:33 +01:00
2026-03-04 11:43:00 +01:00
2026-03-05 17:24:15 +01:00
2026-03-04 11:43:00 +01:00
2026-03-06 18:21:43 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 19:00:33 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 15:13:19 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-10 10:29:24 +01:00
2026-03-08 14:30:38 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-07 09:45:56 +01:00
2026-03-04 22:41:05 +01:00
2026-03-05 15:11:10 +01:00
2026-03-04 11:43:00 +01:00
2026-03-08 14:38:46 +01:00
2026-03-05 12:07:01 +01:00
2026-03-10 22:30:31 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 17:43:29 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-04 11:43:00 +01:00
2026-03-10 23:43:56 +01:00
2026-03-04 11:43:00 +01:00
2026-03-10 14:47:20 +01:00
2026-03-04 11:43:00 +01:00
2026-03-09 20:43:23 +01:00
2026-03-04 11:43:00 +01:00
2026-03-08 14:30:38 +01:00
2026-03-09 15:24:17 +01:00
2026-03-09 17:48:02 +01:00