From 0444db1e4b86f898bc8aa9b2578656f65db462eb Mon Sep 17 00:00:00 2001 From: Binh Date: Thu, 24 Sep 2026 15:27:43 +0200 Subject: [PATCH] fix(gpo): clarify registry states and baseline guidance --- docs/IMPLEMENTATION_PLAN.md | 2 + package-lock.json | 4 +- package.json | 2 +- .../policy-observations-to-dataset.ts | 16 ++-- .../project-import/policy-work-row-rollup.ts | 59 +++++++++--- src/profiles/group-policy/guidance.ts | 90 ++++++++++++------- src/profiles/group-policy/presentation.ts | 8 ++ tests/app/app-version.test.ts | 2 +- tests/features/gpo-baseline-rollup.test.tsx | 59 +++++++++++- tests/features/policy-guidance.test.tsx | 44 ++++++++- tests/server/assessor-http-server.test.ts | 2 +- .../gpo-policy-evaluation-service.test.ts | 8 +- 12 files changed, 232 insertions(+), 64 deletions(-) diff --git a/docs/IMPLEMENTATION_PLAN.md b/docs/IMPLEMENTATION_PLAN.md index 90cac5b..acc5ac0 100644 --- a/docs/IMPLEMENTATION_PLAN.md +++ b/docs/IMPLEMENTATION_PLAN.md @@ -2753,6 +2753,8 @@ Festgelegtes Betriebsrisiko vom 2026-09-06: Verzeichnisabhaengige Compose-Projek ## 12. Änderungsprotokoll +2026-09-24 (Phase 7, GPO-Registry-Zustaende lesbar): Registry-Sollzustaende erscheinen im Finding Reader, in Remediation und Baseline-Empfehlungen nicht mehr als interne Codes `State: absent/key-empty/key-present`, sondern als `Value not set`, `No values under this key` und `Registry key exists` (Nutzerwortlaut). Ein fehlender Kundenzustand zeigt immer `Not configured`, auch wenn der Loeschvergleich intern einen synthetischen `absent`-Istwert fuehrt; `Registry type` entfaellt fuer Schluesselanweisungen (delete-all-values, create-key) und fehlende Typcodes (vorher `0`/`undefined`). Reine Darstellung ueber bestehenden Fakten: Urteile, Filter, Score und gespeicherte Vergleiche unveraendert, keine Reevaluation und kein Reimport. Offen und unentschieden bleibt, ob fehlende leere GPMC-Schluessel (z. B. `SrpV2\Dll`) weiter als Fail zaehlen. Im selben Batch zeigt `Expected baseline value` Baseline-Varianten lesbar je Baseline und Template (`