Commit Graph

8 Commits

Author SHA1 Message Date
Benjamin Admin b515ab0c0a feat(generator): "Generate-All" bulk mode for recommended documents
CI / detect-changes (push) Successful in 7s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / build-sha-integrity (push) Failing after 4s
CI / validate-canonical-controls (push) Successful in 11s
CI / loc-budget (push) Failing after 13s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m19s
CI / test-go (push) Has been skipped
CI / test-python-backend (push) Has been skipped
CI / iace-gt-coverage (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
CI / test-python-document-crawler (push) Has been skipped
Phase 2 of the workspace-cutover initiative: the Document Generator
gets a Bulk-Generate mode that produces every recommended document
in one click instead of forcing the user through 25+ per-template
clicks.

New: BulkGenerateModal.tsx (430 LOC)
  - On open: POSTs current CompanyProfile + ComplianceScope answers
    to /api/sdk/v1/compliance/recommend (Phase 1 endpoint)
  - Matches each recommendation's document_type against allTemplates
  - Shows tabular list: classification chip, title, document_type,
    source citation; checkboxes pre-selected for required+recommended
    (only where a template exists)
  - On submit: sequentially renders each selected template using the
    same pipeline as GeneratorSection (runRuleset → applyBlockRemoval
    → applyConditionalBlocks → placeholder replace), then POSTs
    documents + version v1.0 draft
  - Per-row progress:  generiere → ✓ erstellt / ✗ Fehler / —
    übersprungen; final summary counts

page.tsx:
  - Imports BulkGenerateModal
  - Adds prominent "Empfohlene generieren →" CTA above the
    RecommendedDocuments block
  - Wires SDK state (companyProfile, complianceScope) into the modal

Profile mapper:
  - CompanyProfile (camelCase): employeeCount, businessModel,
    isDataProcessor → org_employee_count, org_business_model,
    comp_has_processors
  - ComplianceScope answers (questionId/value): pass through 1:1
    since the rule system uses the same field names as the wizard
  - compliance_depth_level pulled from decision.determinedLevel

End-to-end flow:
  1. User completes CompanyProfile + ComplianceScope
  2. Clicks "Empfohlene generieren →"
  3. Reviews 25-30 prefilled checkboxes
  4. Clicks "Generieren" — modal iterates, all docs land as drafts
     in compliance_legal_documents + version v1.0
  5. Phase 3 (next): document-library tab makes them findable
  6. Phase 4 (next-next): workspace consumes these directly

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-08 08:57:53 +02:00
Benjamin Admin 6f3301d246 fix(founding-wizard): add python-docx dep + Lifecycle filter UI
CI / detect-changes (push) Successful in 10s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / secret-scan (push) Has been skipped
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / validate-canonical-controls (push) Successful in 17s
CI / loc-budget (push) Successful in 18s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m53s
CI / test-go (push) Has been skipped
CI / iace-gt-coverage (push) Has been skipped
CI / test-python-backend (push) Successful in 44s
CI / test-python-document-crawler (push) Has been skipped
CI / test-python-dsms-gateway (push) Has been skipped
- requirements.txt: python-docx==1.2.0 (Container hatte das modul nicht)
- document-generator: Lifecycle-Filter (Pre-Founding/Founding/Startup/KMU/Konzern)
  zeigt nur relevante Templates fuer aktuelle Phase
2026-05-20 16:41:36 +02:00
Benjamin Admin bb1f5d6c94 feat: Document Workflow wiring + Email system consolidation
Document Workflow:
- "Als Version speichern" button in Document Generator preview
- Creates document + version via /legal-documents/documents API
- Saved documents appear in /sdk/workflow module
- Status indicator (saving/saved/error) in toolbar

Email Consolidation:
- consent-management Emails tab now redirects to /sdk/email-templates
- Single source of truth for all email templates
- Old tab replaced with redirect card explaining the change

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-04 07:57:33 +02:00
Benjamin Admin 4c92b17617 feat: Rollenkonzept module + Document Generator review integration (Phase 4-5)
- New /sdk/rollenkonzept/ module with 3 tabs (Rollen, Zuordnung, Reviews)
- 7 standard compliance roles (DSB, GF, IT-Leiter, HR, Marketing, Compliance, Einkauf)
- Inline role editing with test email via Mailpit
- Document-to-role mapping table (editable per tenant)
- Review list with status filters and approve/reject workflow
- ReviewAssignmentPanel in Document Generator preview tab
- "Zur Pruefung senden" button creates reviews + sends notification emails
- Approval notification sent to all affected roles after document sign-off
- Sidebar navigation link added

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-03 13:09:32 +02:00
Benjamin Admin a56ea2c843 feat: A4 preview + example data + company profile presets
Feature 1: DIN A4 Preview
- Markdown→HTML renderer (inline, no dependency)
- A4 page container (210mm × 297mm) with print styling
- Toggle between "Vorschau" (rendered A4) and "Markdown" (raw)
- Print button opens new window with @page A4 CSS
- Purple theme for headings, styled tables

Feature 2: Example Data Button
- "Beispieldaten" button in Generator header
- Loads examples/{templateType}_{lang}.json
- Prefills all context fields for instant full preview

Feature 3: Company Profile Presets
- 10 industry presets: SaaS Startup, Consumer App, E-Commerce,
  IT-Agentur, Maschinenbau, Rechtsanwalt, Arztpraxis, Handwerk,
  Bildung, Enterprise
- Each with pre-filled CompanyProfile + scope hints + recommended docs
- PresetSelector component (card grid with icons)
- "Manuell ausfuellen" skip option

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-03 07:38:18 +02:00
Benjamin Admin 9f4c4abb84 feat: Document recommendation UI in generator
New RecommendedDocuments component shown above the template library:
- Evaluates scope answers + compliance level (L1-L4)
- Groups templates into required/recommended/optional
- Shows profile label (Startup/KMU/Extended/Enterprise)
- Cards link to actual templates — click opens in generator
- Optional section collapsed by default
- Only visible when scope has been completed

Renders as purple gradient panel with grid cards, each showing
template name and availability status.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-01 11:06:56 +02:00
Benjamin Admin 2134383b5a fix: guard placeholders with Array.isArray to prevent e.filter crash
Same pattern as the email templates variables fix. Backend may return
placeholders as object instead of array.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-28 23:36:09 +02:00
Sharang Parnerkar eeb9931d87 refactor(admin): split document-generator page.tsx into colocated components
Split 1130-LOC document-generator page into _components and _constants
modules. page.tsx now 243 LOC (wire-up only). Behavior preserved.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 23:01:56 +02:00