9312ad18ef
The Map Renderer explains the engine's state, it does not extend it. Pure composition of resolve_product_scope (scope verdict) + derive_obligations (registry-linked obligations + overlaps) into one RegulatoryMap. - product_summary, trigger_facts, applicable/uncertain/excluded regulations, unsupported_domains, overlaps (shared_obligations), shared_evidence, and a customer-readable executive_summary. - No own legal decisions: applicable/uncertain mirror the scope verdict exactly. - Obligations shown ONLY when registry-linkable (registry_anchor) — MaschinenVO/ EMV obligations are proposed, so they render empty + a note, never as linked. Overlaps/shared_evidence likewise filtered to registry-linked members. - Uncertain regulations link to the navigator question that would resolve them (RED -> has_radio_module, DataAct -> generates_usage_data). - Environmental appears only as unsupported_domain; executive_summary has NO percentage (counts + "no further regulations identified" instead). - POST /reasoning/regulatory-map (thin handler). Response types are presentation- level, not meta-model classes (freeze v1.0 untouched). - 9 tests; 56 green (existing reasoning MVP stays green), mypy clean, LOC ok. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
32 lines
895 B
Python
32 lines
895 B
Python
"""Regulatory Map — customer-readable read-model over the engine's scope output.
|
|
|
|
Composes scope + registry-linked obligations + overlaps into one map:
|
|
product -> trigger facts -> applicable / uncertain / excluded regulations ->
|
|
obligations -> overlaps -> unsupported domains -> executive summary. Explains the
|
|
engine's state, never extends it. No new logic, no UI, no RAG, no percentage.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from .renderer import render_regulatory_map
|
|
from .schemas import (
|
|
ApplicableRegulationView,
|
|
ExcludedRegulationView,
|
|
ObligationRef,
|
|
OverlapView,
|
|
RegulatoryMap,
|
|
RegulatoryMapRequest,
|
|
UncertainRegulationView,
|
|
)
|
|
|
|
__all__ = [
|
|
"render_regulatory_map",
|
|
"RegulatoryMap",
|
|
"RegulatoryMapRequest",
|
|
"ApplicableRegulationView",
|
|
"UncertainRegulationView",
|
|
"ExcludedRegulationView",
|
|
"OverlapView",
|
|
"ObligationRef",
|
|
]
|