reguai-engine / src /engine.py
gitmodelmujtaba's picture
Deploy ReguAI: Neuro-Symbolic AI GRC & Automated Conformity Assessment Engine
99102a1 verified
Raw
History Blame Contribute Delete
5.8 kB
"""
ReguAI Unified Neuro-Symbolic Engine.
Orchestrates ingestion, extraction, graph building, deterministic SHACL reasoning,
provenance generation, and reporting.
"""
from pathlib import Path
from typing import Union, Dict, Any
from datetime import datetime, timezone
from src.core.models import (
SystemSpecification,
ConformityReport,
)
from src.extraction.parser import SpecificationParser
from src.extraction.gliner_extractor import RegulatoryClaimExtractor
from src.ontology.builder import NormativeGraphBuilder
from src.reasoning.shacl_engine import DeterministicSHACLEngine
from src.ledger.provenance import ProvenanceLedger
from src.triage.active_learning import ActiveLearningTriageQueue
from src.triage.report_generator import ConformityReportGenerator
from src.reasoning.framework_crosswalk import MultiFrameworkCrosswalk
from src.reasoning.fine_calculator import FineLiabilityCalculator
class ReguAIEngine:
def __init__(self):
self.parser = SpecificationParser()
self.extractor = RegulatoryClaimExtractor()
self.graph_builder = NormativeGraphBuilder()
self.shacl_engine = DeterministicSHACLEngine()
self.ledger = ProvenanceLedger()
self.triage_queue = ActiveLearningTriageQueue()
self.report_generator = ConformityReportGenerator()
self.crosswalk = MultiFrameworkCrosswalk()
self.fine_calculator = FineLiabilityCalculator()
def evaluate_system(
self,
input_data: Union[str, Path, Dict[str, Any]],
auditor_id: str = "reguai_lead_auditor",
annual_turnover_eur: float = 0.0,
is_sme: bool = False,
) -> ConformityReport:
"""
Executes full deterministic conformity assessment pipeline:
1. Parse document or JSON
2. Extract regulatory claims & evaluate assertions (GLiNER + NegEx)
3. Construct RDF normative graph
4. Run deterministic W3C SHACL shape validation
5. Generate cryptographic W3C PROV-O audit ledger
6. Compute Multi-Framework Harmonization Crosswalk (NIST / ISO / GDPR)
7. Calculate Article 99 Statutory Fine Liability
8. Generate comprehensive ConformityReport
"""
# 1. Parsing
if isinstance(input_data, Path):
spec = self.parser.parse_file(input_data)
elif isinstance(input_data, dict):
import json
spec = self.parser.parse_json(json.dumps(input_data))
else:
text = str(input_data).strip()
if text.startswith("{") and text.endswith("}"):
spec = self.parser.parse_json(text)
else:
spec = self.parser.parse_markdown(text)
# 2. Extract Claims & ground
spec = self.extractor.enrich_system_specification(spec)
borderline_claims = self.triage_queue.filter_borderline_claims(spec.extracted_claims)
# 3. Construct Knowledge Graph
system_graph = self.graph_builder.build_system_graph(spec)
# 4. Deterministic SHACL Reasoning
conforms, violations, warnings, score = self.shacl_engine.validate_system(system_graph)
# 5. Cryptographic Provenance Ledger
provenance = self.ledger.generate_provenance(
spec=spec,
system_graph=system_graph,
conforms=conforms,
violations_count=len(violations),
auditor_id=auditor_id,
)
# 6. Multi-Framework Harmonization & Article 99 Liability
crosswalk_res = self.crosswalk.harmonize(violations=violations)
fine_res = self.fine_calculator.calculate_exposure(
violations=violations,
annual_turnover_eur=annual_turnover_eur,
is_sme=is_sme,
)
# 7. Build Conformity Report
total_reqs = len(violations) + len(warnings) + 6
passed_reqs = max(0, total_reqs - len(violations))
now_utc = datetime.now(timezone.utc).isoformat()
if conforms:
summary = (
f"The AI system '{spec.metadata.name}' (Version {spec.metadata.version}) satisfies all mandatory "
f"EU AI Act Chapter III high-risk requirements based on formal W3C SHACL constraint validation. "
f"Operational controls for Articles 9 (Risk Management), 10 (Data Governance & Bias Mitigation), "
f"12 (Logging), 14 (Human Oversight), and 15 (Cybersecurity & Robustness) are verified."
)
else:
violation_articles = ", ".join(sorted(set(v.regulatory_article for v in violations)))
summary = (
f"The AI system '{spec.metadata.name}' fails mandatory EU AI Act Chapter III high-risk requirements. "
f"Formal W3C SHACL constraint validation discovered {len(violations)} non-conformities affecting {violation_articles}. "
f"Remediation is required before deployment into high-impact environments. "
f"{fine_res.executive_liability_summary}"
)
report = ConformityReport(
report_id=f"rep_{spec.metadata.system_id}_{provenance.certificate_sha256[:8]}",
system_metadata=spec.metadata,
overall_conforms=conforms,
conformity_score=score,
total_requirements_evaluated=total_reqs,
passed_requirements_count=passed_reqs,
violations=violations,
warnings=warnings,
claims_analyzed=spec.extracted_claims,
borderline_claims=borderline_claims,
provenance=provenance,
generated_at_utc=now_utc,
executive_summary=summary,
fine_exposure=fine_res.model_dump(),
harmonized_frameworks=crosswalk_res.model_dump(),
)
return report