3ba90f49cf
The user-named "right next runtime step": stop building knowledge, start using it automatically in onboarding — no sales training, no regulation picking. compliance/onboarding/ is an ORCHESTRATOR (not a new engine) wiring Company 2A -> RS-005 -> optimization -> completeness: advisor_start(input, cert_hypotheses, target_requirements, ...) -> AdvisorResult From (company + products + certifications + target) it returns inferred_assumptions, rejected_ assumptions, next_best_questions (<=5, ranked by information_gain + leverage + unknown_high_risk + evidence_missing, each self-explaining), capability_delta, top_measures, evidence_requests, unsupported_domains, completeness_summary. apply_answer() updates the profile (delta shrinks). Welt-1 throughout: certificates REDUCE questions but satisfy nothing automatically (verification_ required); relevance(evidence,target) keeps ISO 14001 out of the CRA result. Certificate->capability hypotheses + target requirements are INJECTED (curated knowledge, outsourced; not in code). All 7 acceptance criteria pass; mypy --strict clean. First app-caller wiring the engines into a product flow — still no endpoint/persistence, so 0 runtime effect -> no deploy yet (deploys when POST /onboarding/advisor-start + frontend are wired). check-loc 0.
31 lines
932 B
Python
31 lines
932 B
Python
"""Smart Onboarding Advisor — the onboarding runtime step (orchestration over existing engines).
|
|
|
|
Turns (company + products + certifications + target) into inferred assumptions, the next best questions
|
|
(<=5, each self-explaining), the capability delta, top measures, evidence requests and completeness —
|
|
with NO sales interpretation and NO regulation picking. Orchestrator only: no new engine/registry/
|
|
meta-model; certificate->capability hypotheses and target requirements are INJECTED.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from .engine import advisor_start, apply_answer
|
|
from .schemas import (
|
|
AdvisorMeasure,
|
|
AdvisorQuestion,
|
|
AdvisorResult,
|
|
InferredAssumption,
|
|
OnboardingInput,
|
|
RejectedAssumption,
|
|
)
|
|
|
|
__all__ = [
|
|
"advisor_start",
|
|
"apply_answer",
|
|
"OnboardingInput",
|
|
"AdvisorResult",
|
|
"AdvisorQuestion",
|
|
"AdvisorMeasure",
|
|
"InferredAssumption",
|
|
"RejectedAssumption",
|
|
]
|