feat(rci): Regulatory Change Intelligence foundation (delta over the stored map)
RCI/Delta as a read-/reasoning layer ON TOP of the product-first pipeline. Answers "what changes relative to my existing Regulatory Map?" — NOT "what does the new law say in general". No UI, no ingestion (newsletter/mailbox), no RAG, no new regulations/controls, no legal evaluation outside the stored map. - 4 core objects (compliance/rci/schemas.py): ComplianceBaseline (snapshot of profile + map + registry obligations + required/present evidence), RegulatoryChange (simulated/provided INPUT), ObligationDelta (delta_type NEW|CHANGED|REMOVED| ALREADY_COVERED|NEEDS_REVIEW|NOT_APPLICABLE), ChangeImpactSummary. delta_type is a THIRD vocabulary, disjoint from ClaimCoverage (Welt 1) and ComplianceStatus (Welt 2). - create_baseline() snapshots the existing pipeline once; assess_change() computes deltas deterministically against the snapshot (no re-evaluation). - 12 tests = the 5 acceptance questions (affects product? new/changed? already covered by evidence? needs human review? not relevant?) + repeal/uncertain-reg/ missing-evidence/boundary. Existing pipeline tests stay green; mypy clean; LOC ok. - App/reasoning types only — no compliance-meta-model classes (freeze v1.0 untouched). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
"""Regulatory Change Intelligence (RCI) — delta layer over the product-first map.
|
||||
|
||||
Answers "what changes relative to my existing Regulatory Map?" — NOT "what does
|
||||
the new law say in general". Snapshot the pipeline into a ComplianceBaseline, then
|
||||
assess a (simulated/provided) RegulatoryChange into per-obligation deltas + a
|
||||
management ChangeImpactSummary. Read/reasoning only — no UI, no ingestion, no RAG,
|
||||
no new regulations/controls, no legal evaluation outside the stored map.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from .baseline import create_baseline
|
||||
from .delta_engine import assess_change
|
||||
from .schemas import (
|
||||
ChangeAssessment,
|
||||
ChangeImpactSummary,
|
||||
ChangeType,
|
||||
ComplianceBaseline,
|
||||
DeltaType,
|
||||
ObligationDelta,
|
||||
RegulatoryChange,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"create_baseline",
|
||||
"assess_change",
|
||||
"ComplianceBaseline",
|
||||
"RegulatoryChange",
|
||||
"ObligationDelta",
|
||||
"ChangeImpactSummary",
|
||||
"ChangeAssessment",
|
||||
"DeltaType",
|
||||
"ChangeType",
|
||||
]
|
||||
Reference in New Issue
Block a user