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. |
||
|---|---|---|
| .. | ||
| assessor-repository.test.ts | ||
| client-information.test.ts | ||
| gpo-analysis-persistence.test.ts | ||
| import-fingerprint.test.ts | ||
| ingestion-persistence.test.ts | ||
| review-store.test.ts | ||
| snapshot-store.test.ts | ||
| unified-result.test.ts | ||