diff --git a/admin-compliance/app/sdk/onboarding-advisor/page.tsx b/admin-compliance/app/sdk/onboarding-advisor/page.tsx index 33f848a8..a3932e43 100644 --- a/admin-compliance/app/sdk/onboarding-advisor/page.tsx +++ b/admin-compliance/app/sdk/onboarding-advisor/page.tsx @@ -96,6 +96,9 @@ export default function OnboardingAdvisorPage() { } finally { setLoading(false) } } + // auto-recompute when certifications / target / scanner signals change (no button click needed) + useEffect(() => { if (certs.length) run() }, [certs, target, findings]) // eslint-disable-line react-hooks/exhaustive-deps + return (
diff --git a/backend-compliance/compliance/onboarding/engine.py b/backend-compliance/compliance/onboarding/engine.py index a226287c..5ad2a67f 100644 --- a/backend-compliance/compliance/onboarding/engine.py +++ b/backend-compliance/compliance/onboarding/engine.py @@ -143,8 +143,8 @@ def advisor_start( next_best_questions=next_q, capability_delta=delta, top_measures=measures, evidence_requests=evidence, unsupported_domains=unsupported, completeness_summary=rep.completeness_summary, - headline="%d Anforderungen erkannt · %d automatisch erkannt (Intake) · %d wahrscheinlich (Zertifikate) · %d zu klären" - % (len(assess.coverage), len(auto_detected), len(probably), len(next_q))) + headline="%d von %d Anforderungen offen · %d automatisch erkannt (Intake) · %d wahrscheinlich (Zertifikate) · %d zu klären" + % (len(delta), len(assess.coverage), len(auto_detected), len(probably), len(next_q))) def apply_answer(known_capabilities: Sequence[str], capability_id: str, answer: str) -> List[str]: