Commit Graph

4 Commits

Author SHA1 Message Date
Binh 6a784a7626 feat(compliance): direct BSI mapping, ISO/BSI review and hybrid search
Release 2.23.0 (Phase 13F, BSI Grundschutz++ stage 2).

- Map rules directly to BSI Kernel requirements from a dedicated BSI
  corpus in Qdrant; mappings and decisions carry a framework
  (migration 029, verified backup before applying).
- Compare directly accepted BSI requirements with those derived from
  accepted ISO controls (Consistent / Inconsistent / No ISO reference)
  in a new "ISO <-> BSI review" tile in the Client Info Compliance tab,
  with Accept/Reject and "Mark reviewed" per fingerprint.
- Hybrid retrieval for ISO and BSI: German restatement of the public
  query, dense English + dense German + German BM25 fused by
  reciprocal rank; BSI skips BES/DLS/GEB/PERS and sends 16 candidates.
- ISO prompt 1.3.0 gives the model the full ISO/IEC 27002 control text
  (never sent to the browser).
- Auto-accept only the first two strong proposals (primary, high or
  medium confidence).
- Recognize Purple Knight scoped tool ids and SI indicator ids in the
  mapping query.
- Rename Result DB "Map all ISO controls" to "Compliance mapping" with
  ISO and BSI batches; "Mapping history" lists ISO and BSI runs.
- Data Hub BSI tile shows the BSI search index state and can build or
  rebuild it.
- Update AGENTS.md and the implementation plan with these decisions.
2026-10-14 11:54:49 +02:00
Binh 5148fed9e8 Compliance tab overview: mapping coverage and ISO/BSI footprints
- Client Info Compliance tab: overview row above the framework tiles with an
  ISO/BSI switch. Mapping coverage (square donut, per mapping state) and the
  Annex A footprint (all 93 controls, titles from the active corpus) or the
  BSI Kernel footprint (top two practices, Show all window with all 901
  requirements, unreachable ones marked, pinned detail line).
- Mapping failed and ISO control without BSI requirement open Work through
  the new Compliance Engine facet ISO mapping; Client and Assessment context
  row in the tab (Core release Presentation for the DashboardPanel drilldown
  and context row).
- Fix: an ISO control accepted by an earlier run can be decided again after a
  remap of the same pipeline version no longer proposes it.
- Overview response adds coverage, bsiFootprint and annexATitles; Work
  assignments add failedFindings. Product version unchanged pending Platform release.
2026-10-14 11:54:48 +02:00
Binh 0eba6bf2b4 feat: extend Compliance Engine and ISO workflows for v2.19.0
- Move AI overview and privacy-safe JSON export into Compliance Engine
- Add ISO control and theme facets to Work, including GPO settings
- Enrich ISO queries with baseline context, Windows code meanings and technical explanations
- Count GPO settings once and preserve editable decisions across mapping runs
- Fix GPO mapping version conflicts and backup domain identity resolution
- Add regression coverage and update architecture and reimport documentation
2026-10-14 11:53:35 +02:00
Binh c0afbb14e0 2.18.0: Compliance Engine for ISO control mapping
Extract the regulatory ISO control mapping from the Core into the
Compliance Engine (src/compliance, server/compliance, tests/compliance).

- Fix ISO mapping after the Result DB privacy merge: look up a finding's
  Result DB row scoped to its project instead of comparing a stripped
  project id.
- Engine reads the Core only through ComplianceReadPort and writes only
  its own ComplianceStore (existing migration 026 tables, own pool);
  engine writes no longer advance the Core revision.
- Engines popup gains Compliance Engine; switched off it shows nothing
  and sends no requests. Permanent on/off invariance test.
- Map ISO controls opens a window like Accepted Risk; accepted controls
  appear as an ISO controls section in the Finding Reader and as tiles
  below the Context heatmap in Client Info (drill-down into Work).
- First two proposals of a finished mapping are accepted automatically
  (provisional user decision); existing decisions are never overridden.
- Activity log names Compliance Engine work, keeps running mappings,
  batches and corpus embedding until the backend ends them, and no
  longer logs repeated status checks.
- Data Flow diagram shows the Compliance Engine.
- Core guard treats a bare engine folder name as engine path; new guard
  area test.
2026-10-14 11:53:35 +02:00